1. Field of the Invention
Embodiments of the invention relate to reasoning systems and methods that perform computational experiments.
2. Description of the Related Art
FIG. 1 illustrates an atomic experimental context (“atomic context”). U.S. Pat. No. 6,389,380 describes an atomic context in detail. Herein is provided a summary of characteristics of an atomic context for ease of explanation in this application.
As illustrated, an atomic context 100 encapsulates one or more mechanisms or methods for driving a computational experiment. Such a mechanism can be, for example, a mathematical model. An atomic context 100 comprises a reference 104 to such a mathematical model 106, one or more interfaces 108 to the mathematical model, and one or more methods 110 for running operations on the mathematical model. The mathematical model 106, generally but not necessarily located externally to the atomic context, defines a computational experiment and computes answers to the experiment. The mathematical model can be defined using any tool configured to define mathematical models, including, for example, Microsoft Excel, SAS, Matlab, and the like. The atomic context 100 drives experiments using the mathematical model 106, such as by providing input variables to the mathematical model, changing the input values, and iteratively instructing the mathematical model to run the experiment and generate results. An atomic context may provide other services to other software objects as part of a given embodiment. To distinguish its primary function of conducting experiments from other methods that may be supported, henceforth the function of running experiments will be referred as being embodied by a “run method” supported by the atomic context.
As will be apparent to a skilled artisan, an atomic context 100 advantageously can change inputs to a mathematical model 106 and test multiple scenarios. Nevertheless, an atomic context 100 does not change the mathematical model 106 itself or transform the calculations performed by the mathematical model. This means that an atomic context 100 cannot cause a mathematical model 106 to return results that answer a question that has not already been coded in the mathematical model.